why wont my gun stop rotating, heres my code

using UnityEngine;
using System.Collections;

public class gunController : MonoBehaviour
{

public Transform player;
public Transform mirilla;
public Transform rotationPoint;

public Vector3 offset;

[HideInInspector]
public Vector3 mousePos;
[HideInInspector]
public Vector3 screenPos;

public bool flipped = false;

public float angle;

void Update()
{
    transform.position = rotationPoint.transform.position + offset;

    mousePos = Input.mousePosition;
    mousePos.z = -20;

    screenPos = Camera.main.ScreenToWorldPoint(mousePos);
    screenPos = screenPos - transform.position;

    angle = Mathf.Atan2(screenPos.y, screenPos.x) * Mathf.Rad2Deg;
    transform.RotateAround(rotationPoint.position, Vector3.forward, angle);

Your code here means to rotate around a point by angle degrees on each update.

transform.RotateAround(rotationPoint.position, Vector3.forward, angle);

Unity - Scripting API: Transform.RotateAround

If you want it to point at something, try transform.LookAt(target);

Unity - Scripting API: Transform.LookAt